package weeny.pre.control;

import java.awt.event.MouseEvent;
import java.awt.geom.Rectangle2D;

import prefuse.visual.VisualItem;
import weeny.pre.control.MoreDragControl.DragListener;
import weeny.pre.util.Pre;


public class DragInRectListener extends DragListener{
	private Rectangle2D rect = null;
	public DragInRectListener(Rectangle2D rect){
		this.rect = rect;
	}
	@Override
	public void afterItemDragged(VisualItem item, MouseEvent e) {
		double x = item.getX();
		double y = item.getY();
		if (rect.getMaxX()<x) {
			Pre.setX(item, rect.getMaxX());
		}
		else if (rect.getMinX()>x){
			Pre.setX(item, rect.getMinX());
		}
		if (rect.getMaxY()<y){
			Pre.setY(item, rect.getMaxY());
		}
		else if (rect.getMinY()>y){
			Pre.setY(item, rect.getMinY());
		}
	}
}